async function funA() {
  console.log(1);
  await funB();
  console.log(2);
}
async function funB() {
  //定义一个异步函数
  console.log(3);
}
console.log(4);
setTimeout(() => {
  console.log(5);
}, 0);

funA();

new Promise((resolve, reject) => {
  console.log(6);
  resolve();
}).then((_) => {
  console.log(7);
});

console.log(8);
//1.预想 需要考虑代码同步任务执行与异步任务执行；4 1 3 6 8 2 7 5
//4 1 3 6 8 2 7 5
//4 1 无异议;
//6 8 无异议
//7 5 无异议
